﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Drawing;
using OVS.BusinessObjects;

namespace OVS_FormsRecognition.Manager
{
    /// <summary>
    /// 
    /// </summary>
    public class ProcessDetectEventArgs : EventArgs
    {
        /// <summary>
        /// The list haar files to detect
        /// </summary>
        public List<Image_Haar> listHaarFilesToDetect;
        /// <summary>
        /// The detect haar
        /// </summary>
        public Image_Haar detectHaar;
        /// <summary>
        /// The detect frame
        /// </summary>
        public Emgu.CV.Image<Emgu.CV.Structure.Bgr, byte> detectFrame;
        /// <summary>
        /// The dic detect objects
        /// </summary>
        public Dictionary<Image_Haar, Rectangle[]> dicDetectObjects = new Dictionary<Image_Haar,Rectangle[]>();
        /// <summary>
        /// The camera
        /// </summary>
        public Objects.CameraFromMjpegDecoder camera;
       
        /// <summary>
        /// Gets or sets the cam id.
        /// </summary>
        /// <value>
        /// The cam id.
        /// </value>
       public int camId {get; set; }

       /// <summary>
       /// Gets or sets the bitmap source.
       /// </summary>
       /// <value>
       /// The bitmap source.
       /// </value>
       public Bitmap bitmapSource { get; set; }

       /// <summary>
       /// Gets or sets the bitmap fromdetection.
       /// </summary>
       /// <value>
       /// The bitmap fromdetection.
       /// </value>
       public Bitmap bitmapFromdetection { get; set; }

       /// <summary>
       /// Gets or sets a value indicating whether [detect object].
       /// </summary>
       /// <value>
       ///   <c>true</c> if [detect object]; otherwise, <c>false</c>.
       /// </value>
       public bool detectObject { get; set; }

       /// <summary>
       /// Gets or sets the thread id.
       /// </summary>
       /// <value>
       /// The thread id.
       /// </value>
       public int ThreadId { get; set; }

       /// <summary>
       /// Gets or sets a value indicating whether this instance is in test mode.
       /// </summary>
       /// <value>
       /// <c>true</c> if this instance is in test mode; otherwise, <c>false</c>.
       /// </value>
       public bool isInTestMode { get; set; }
    }
}
